- Дипломы
- Курсовые
- Рефераты
- Отчеты по практике
- Диссертации
Имитационное моделирование SDN сетей
Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: | R001630 |
Тема: | Имитационное моделирование SDN сетей |
Содержание
Министерство образования и науки Российской федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Пермский государственный национальный исследовательский университет» УДК 004.942 Кафедра математического обеспечения вычислительных систем Имитационное моделирование SDN сетей Выпускная квалификационная работа бакалавра Работу выполнил студент 1 группы 4 курса механико-математического факультета направления «Прикладная математика и информатика» Мальцев Г.В. _________________________ Научный руководитель: к. ф.-м. наук, доцент, Замятина Е.Б. _________________________ “_____”_______________20__г. Пермь 2016 Оглавление Введение 4 Глава 1. Обзор современных компьютерных сетей и средств имитационного моделирования 6 1.1 Локальные сети 6 1.2 SDN-cети 7 1.3 SON-сети 8 1.4 Средства имитационного моделирования для анализа компьютерных сетей 9 1.4.1 COMNET 9 1.4.2 Opnet 10 1.4.3 OMNeT++ 11 1.5 Особенности моделирования SDN-сетей 12 Глава 2. Система имитационного моделирования Triad.Net 14 2.1 Архитектура системы имитационного моделирования Triad.Net 14 2.2 Представление имитационной модели в Triad.Net 15 2.3 Алгоритм исследования 16 2.4 Графический интерфейс 17 2.5 Вывод 18 Глава 3. Обзор алгоритмов маршрутизации и их использование в симуляторах сетей. 20 3.1 Обзор алгоритмов маршрутизации 20 3.1.1 Алгоритм Флойда-Уоршалла 22 3.1.2 Алгоритм Туэга построения кратчайших путей 24 3.2 Алгоритмы маршрутизации в симуляторах сетей 30 3.3 Алгоритм маршрутизации SBARC 31 3.3.1 Суперузлы 33 3.3.2 Конструкция системы SBARC 33 3.3.3 Вывод 37 Глава 4. Особенности моделирования распределенных информационных систем 38 4.1 Программные средства имитационного моделирования распределенных систем 38 4.2 Протокол принятия согласованного решения 40 4.3 Использование слоя сообщений и условий моделирования для изменения модели 43 4.4 Отказоустойчивость алгоритма SBARC 45 4.5 Вывод 45 Глава 5. Программная реализация добавления графовых констант и алгоритма маршрутизации SBARC 47 5.1 Разработка и реализация добавления графовых констант 47 5.2 Реализация алгоритма маршрутизации SBARC 52 5.3 Вывод 56 Заключение 57 Библиографический список 58 Приложение 1. Исходный код системы TriadNS 60 Введение В настоящее время существует большое количество различных типов компьютерных сетей. Одни из самых быстро развивающихся - это SON-сети, SDN-сети. Особенно актуальна задача их проектирования. Один из подходов к проектированию компьютерных сетей – это имитационное моделирование, которое предполагает разработку модели и моделирование поведения компьютерной сети. К имитационному моделированию прибегают, когда: * дорого или невозможно экспериментировать на реальном объекте; * необходимо провести исследования различных характеристик сети; * необходимо сымитировать поведение системы во времени. Разработано и существует достаточно большее количество средств имитационного моделирования для проектирования и анализа компьютерных сетей (COMNET, OPNET, OMNET++ и др.). Некоторые из них предназначены для решения конкретных задач. Одни позволяют анализировать сети, другие ориентированы на решение задач проектирования. Для SDN-сетей и SON-сетей подходят средства, позволяющие работать с случайными графами, позволяющие выполнять операции над графами, позволяющие анализировать и моделировать сети. Таковой является система автоматизированного проектирования и моделирования компьютерных сетей TriadNS с использованием средств системы имитационного моделирования Triad.Net. Также в отличие от других средств TriadNS обладает стандартными алгоритмами маршрутизации и возможностями для добавления новых алгоритмов. SDN-сети, используются в сенсорных сетях. Основными преимуществами и особенностями таких сетей являются: * большие масштабы сетей с большой плотностью размещения узлов в пространстве; * высокая отказоустойчивость и надежность системы достигаются за счет большого количества различных маршрутов доставки данных; * устойчивость к изменениям топологии сети; * самоорганизация узлов. Сенсорные сети могут быть использованы во многих прикладных областях, таких как системы обороны и обеспечение безопасности, контроль окружающей среды, мониторинг промышленного оборудования. Целью настоящей работы является реализация алгоритма маршрутизации SBARC, используемого в SDN-сетях. Цель была поставлена Николаем Ильиным, директором по развитию бизнеса Центра прикладных исследований компьютерных сетей. Для достижения поставленной цели были поставлены следующие задачи: * выполнить анализ характерных особенностей сетей SDN; * выполнить анализ систем автоматизированного проектирования и имитационного моделирования компьютерных сетей и их характеристик, с целью возможности моделирования SDN-сетей; * выявить особенности моделирования распределенных информационных систем; * разработать имитационную модель для реализации алгоритма маршрутизации SBARC в инструментальном средстве моделирования TriadNS. Для выполнения поставленных задач в работе были использованы методы теории графов, теории имитационного моделирования, теории распределенных алгоритмов. Разработка велась средствами языка программирования C# в среде разработки Visual Studio. Глава 1. Обзор современных компьютерных сетей и средств имитационного моделирования Компьютерная сеть (вычислительная сеть, сеть передачи данных) — система связи компьютеров или вычислительного оборудования (серверы, маршрутизаторы и другое оборудование). [13] Главной целью объединения компьютеров в сеть является предоставление пользователям возможности доступа к различным информационным ресурсам (например, документам, программам, базам данных и т.д.), распределенным по этим компьютерам и их совместного использования. Важной характеристикой любой компьютерной сети является широта территории, которую она охватывает. Широта охвата определятся взаимной удаленностью компьютеров, составляющих сеть и, следовательно, влияет на технологические решения, выбираемые при построении сети. Рассмотрим: Локальные сети, SDN-сети, SON-сети. 1.1 Локальные сети Локальная вычислительная сеть (ЛВС, локальная сеть; англ. Local Area Network, LAN) — компьютерная сеть, покрывающая обычно относительно небольшую территорию или небольшую группу зданий (дом, офис, фирму, институт). [9] С физической точки зрения, локальная сеть включает в себя компьютеры пользователей, серверы, АТС, принтеры, факсы, сканеры, оборудование, осуществляющее маршрутизацию в сети, ну и непосредственно то, при помощи чего все эти объекты соединяются между собой, то есть кабели, кроссы, разъемы в варианте проводной связи. С логической точки зрения, не принципиально, как соединены между собой компьютеры и оргтехника, каждое устройство рассматривается только как узел в сети, который несет определенную смысловую нагрузку, то есть необходим для выполнения тех или иных задач и может использоваться одним или несколькими пользователями в сети по назначению. Доступ к каждому узлу осуществляется посредством передачи данных по физическим каналам. Проводные, оптические связи устанавливаются через Ethernet, беспроводные — через Wi-Fi, Bluetooth, GPRS и прочие средства. Отдельная локальная вычислительная сеть может иметь связь с другими локальными сетями через шлюзы, а также быть частью глобальной вычислительной сети (например, Интернет) или иметь подключение к ней. Для построения простой локальной сети используются маршрутизаторы, коммутаторы, точки беспроводного доступа, беспроводные маршрутизаторы, модемы и сетевые адаптеры. Реже используются преобразователи (конвертеры) среды, усилители сигнала (повторители разного рода) и специальные антенны. Маршрутизация в локальных сетях используется примитивная, если она вообще необходима. Чаще всего это статическая либо динамическая маршрутизация (основанная на протоколе RIP). Связь с удалённой локальной сетью, подключенной к глобальной сети, из дома/командировки/удалённого офиса часто реализуется через VPN. При этом устанавливается VPN-подключение к пограничному маршрутизатору. 1.2 SDN-cети Программно-конфигурируемая сеть (SDN от англ. Software-defined Networking, также программно-определяемая сеть) — сеть передачи данных, в которой уровень управления сетью отделён от устройств передачи данных и реализуется программно, одна из форм виртуализации вычислительных ресурсов [10]. Cуть концепции SDN заключается в разделении функций управления и пересылки данных, передаче функций маршрутизации контроллеру сети, и реализации на основе этого принципа легко масштабируемой, быстро и гибко настраиваемой виртуальной сети. Разделение уровней управления (Control Plane) и коммутации (Forwarding plane) избавляет коммутаторы и маршрутизаторы от значительной доли вычислительной нагрузки. Все, что от них теперь требуется, это максимально быстро пересылать пакеты из одного порта в другой, согласно таблицы маршрутизации, поступающей извне от контроллера сети. Контроллер же, вместо построения маршрута для каждого пакета, как это предусмотрено в традиционной схеме, принимает решение однократно, а потом гонит все однотипные пакеты потоком по готовому маршруту, пока не изменится состояние сети или характер трафиках [1]. Ключевые принципы программно-конфигурируемых сетей — разделение процессов передачи и управления данными, централизация управления сетью при помощи унифицированных программных средств, виртуализация физических сетевых ресурсов. Протокол OpenFlow, реализующий независимый от производителя интерфейс между логическим контроллером сети и сетевым транспортом, является одной из реализаций концепции программно-конфигурируемой сети и считается движущей силой её распространения и популяризации. В архитектуре программно-конфигурируемой сети выделяется три уровня: * инфраструктурный уровень, на котором функционируют сетевые коммутаторы и каналы передачи данных; * уровень управления — набор программных средств, физически отделённых от инфраструктурного уровня, обеспечивающий реализацию механизмов управления устройствами инфраструктурного уровня; * уровень сетевых приложений. Ядром уровня управления программно-конфигурируемой сетью является сетевая операционная система — программное средство, обеспечивающее, с одной стороны, интерфейс со средствами инфраструктурного уровня (например, динамическое изменение таблиц маршрутизации), и с другой стороны — прикладной программный интерфейс для уровня сетевых приложений, сформулированный в терминах более высокого уровня абстракции (например, «имя узла», «имя пользователя»), нежели используется в параметрах конфигурации сетевых устройств (IP-адрес, маска подсети, MAC-адрес). 1.3 SON-сети Одним из подходов классификации беспроводных сетей связи является деление на централизованные инфраструктуры и самоорганизующиеся. Отличительной особенностью самоорганизующихся сетей SON (self-organization) — это возможность в отсутствии централизованной инфраструктуры обмениваться данными любой паре находящихся в зоне радиопокрытия узлов сети. Узлы в SON могут быть одновременно конечными хостами и маршрутизаторами. Соединение организуется на длинные расстояния с помощью специализированных протоколов маршрутизации в промежуточных узлах-маршрутизаторах. Такое соединение называется «многоэтапным или многошаговым» (multihop). Этапом является участие в этом соединении одного узла- маршрутизатора. Узлы этих сетей обладают способностью сами находить друг друга и формировать сеть, а в случае выхода из строя какого-либо узла могут устанавливать новые маршруты для передачи сообщений. [2] 1.4 Средства имитационного моделирования для анализа компьютерных сетей Моделирование дает возможность изучать объекты, о поведении которых имеется недостаточно информации. Имитационное моделирование - это метод исследования, при котором изучаемая система заменяется моделью, которая с достаточной точностью описывает реальную систему, и с ней проводятся эксперименты с целью получения информации об этой системе. Имитационное моделирование позволяет имитировать поведение системы во времени. Причём плюсом является то, что временем в модели можно управлять: замедлять в случае с быстропротекающими процессами и ускорять для моделирования систем с медленной изменчивостью. Можно имитировать поведение тех объектов, реальные эксперименты с которыми дороги, невозможны или опасны. Существует большое множество средств имитационного моделирования компьютерных сетей, рассмотрим некоторые из них. 1.4.1 COMNET COMNET III ? объектно-ориентированная система моделирования локальных и глобальных сетей. Позволяет моделировать уровни: приложений, транспортный, сетевой, канальный. Использует все известные на сегодня технологии и протоколы, а также системы клиент-сервер. Легко настраивается на модель оборудования и технологий. COMNET Predictor – система быстрого временного анализа. COMNET Baseliner ? система импорта данных. COMNET Enterprise Profiler – система мониторирования сети. Результатами моделирования являются оценки производительности различных вариантов построения исследуемой локальной или глобальной сети, учитывая при этом стоимостные характеристики. При моделировании в COMNET III затрагиваются следующие уровни модели: Приложений уровень. На нем описываются источники трафика ? сообщения, сеансы, отклики, вызовы, поведение программного обеспечения. Транспортный уровень. На данном уровне ? транспортные протоколы и их параметры. Сетевой, на котором описываются алгоритмы маршрутизации, потоки пакетов, таблицы маршрутизации штрафные функции. Канальный уровень - непосредственно передача пакетов, ретрансляция, описание каналов. Подход к построению моделей в COMNET III может быть представлен в виде стандартной последовательности шагов: - описание топологии сетей и определение параметров оборудования; - описание источников трафика и их поведения, описание загрузки сети; - определение сценария моделирования. В системе COMNET полностью применим объектно-ориентированный метод декомпозиции, что позволяет существенно сократить сроки моделирования и сделать его процесс интуитивно-понятным, четко коррелирующим с реальной системой. Модель создается из объектов, своего рода “строительных блоков”, знакомых пользователю из опыта реальной жизни. С системой COMNET поставляется большая библиотека таких объектов - моделей реального сетевого оборудования и методов доступа к среде. 1.4.2 Opnet OPNET ? средство для проектирования и моделирования локальных и глобальных сетей, компьютерных систем, приложений и распределенных систем. Включает следующие продукты: Netbiz (проектирование и оптимизация вычислительной системы), Modeler (моделирование и анализ производительности сетей, компьютерных систем, приложений и распределенных систем), ITGuru (оценка производительности коммуникационных сетей и распределенных систем). Opnet Modeler предлагает пользователям графическую среду для создания, выполнения и анализа событийного моделирования сетей связи. Это удобное программное обеспечение может быть использовано для большого ряда задач, например, типичные создание и проверка протокола связи, анализ взаимодействий протокола, оптимизация и планирование сети. Также возможно осуществить с помощью пакета проверку правильности аналитических моделей, и описание протоколов. Пакет - структура данных, основа связи между процессами. Могут быть заданы форматы пакета, то есть они определяют, какие поля могут содержать такие стандартные типы данных, как целые числа, числа с плавающей запятой и указатели на пакеты. В рамках, так называемого, редактора проекта могут быть созданы палитры сетевых объектов, которым пользователь может присвоить различные формы соединения узлов и связи вплоть до имеющих вид головоломки. Автоматизированное порождение сетевой топологии - кольца, звезды, случайной сети, также поддерживается и резервируется утилитами для импортируемых сетевых топологий в различных форматах. Одним из плюсов из создания модели сети с помощью программного обеспечения является то, что уровень гибкости, обеспечиваемый ядром моделирования, тот же, что и для моделирования, написанных с нуля, но объектное построение среды позволяет пользователю намного быстрее делать разработку, усовершенствования и производить модели для многократного использования. Есть несколько сред редактора - по одной для каждого типа объекта. Организация объектов - иерархическая, сетевые объекты (модели) связаны набором узлов и объектов связи, в то время как объекты узла связаны набором объектов, типа модулей очерёдности, модулей процессора, передатчиков и приемников. Версия ПО для моделирования радиоканала содержит модели антенны радиопередатчика, антенны приемника, перемещающихся объектов узла (включая спутники). Логику поведения процессора и модулей очередности определяет модель процесса, которую пользователь может создавать и изменять в пределах редактора процесса. В редакторе процесса пользователь может определить модель процесса через комбинацию алгоритма работы конечного автомата (finite-state machine - FSM) и операторов языка программирования C/C++. Вызов события модели процесса в течение моделирования управляется возбуждением прерывания, а каждое прерывание соответствует событию, которое должно быть обработано моделью процесса. Более подробное описание Opnet можно найти в [19]. 1.4.3 OMNeT++ OMNeT++ представляет собой симулятор дискретных событий, которые происходят внутри простых модулей (simple modules). В системе OMNeT++ заложена детальная реализация протоколов, начиная от сетевого уровня, возможность написания и подключения собственных модулей, развитый графический интерфейс. Система OMNeT++ представляет собой симулятор дискретных событий, которые происходят внутри простых модулей (simple modules). Обмен сообщениями между модулями осуществляется по каналам (модули соединены с ними шлюзами) или непосредственно через шлюзы. Ее первичная прикладная область - моделирование сетей коммуникации и благодаря ее достаточно гибкой архитектуры, она успешно использовалось в других областях, таких как моделирование IT системы, сети организации очередей, архитектура аппаратных средств и бизнес-процессы. OMNeT ++ быстро становится популярной платформой моделирования в научном сообществе так же как в индустриальных параметрах настройки. Более подробное описание OMNeT ++ можно найти в [18]. 1.5 Особенности моделирования SDN-сетей В последние несколько лет возрос интерес к новой архитектуре программно-конфигурируемых сетей или ПКС (SDN, Software Defined Networks). Концепция ПКС определяет смещение парадигмы в сетевой архитектуре, когда слой управления сетью программируется напрямую и отделяется от непосредственной маршрутизации пакетов. Такой перенос управления обеспечивает абстракцию основной сети для приложений верхних слоёв, что позволяет им рассматривать сеть как логическую или виртуальную сущность. Разработанный протокол OpenFlow (OF), применяющийся во многих сетевых устройствах и позволяет переместить функции управления маршрутизаторами сети в центральный модуль, называемый контроллером или сетевой операционной системой. По сути контроллер является промежуточным звеном, связывающим реальные сетевые устройства и некоторые приложения, реализующие логику работы оборудования. Протокол OpenFlow определяет саму возможность и рамки взаимодействия между контроллером и сетевым оборудованием. Функции пересылки пакетов остаются внутри маршрутизаторов, называемых форвардерами или коммутаторами по той причине, что они не принимают решения о выборе маршрута, а лишь выполняют заданные контроллером правила маршрутизации. Контроллер (в совокупности с приложениями) можно считать сосредоточением интеллекта системы, поскольку решения о маршрутах принимаются именно на этом уровне, причем для потоков пакетов, а не пакетов в отдельности, после чего сетевые устройства конфигурируются через протокол OpenFlow. Протокол позволяет обеспечить полное представление сети на контроллере, мониторинг всех ресурсов и виртуализацию сети, что позволяет создавать сложные решения для управления сетью. В этой связи задача является актуальной и значимой для моделирования и исследования различных вариантов организации сети. Подведем итог. Некоторые средства позволяют строить схемы сетей и обладают ограниченными возможностями моделирования, другие же способны производить сложный анализ сетей. Системы имеют мощные инструменты визуализации процессов построения, моделирования и анализа собранной статистической информации. Но ни одно из средств не позволяет смоделировать сеть и проанализировать ее работу, добавить новые алгоритмы маршрутизации, для этого необходимо использовать несколько средств. Этот недостаток нивелирует система TriadNS. Глава 2. Система имитационного моделирования Triad.Net 2.1 Архитектура системы имитационного моделирования Triad.Net Система моделирования Triad.Net представляет собой совокупность лингвистических и программных средств имитационного моделирования. СИМ Triad.Net включает следующие компоненты: компилятор, ядро, графический редактор, подсистему отладки, подсистему валидации, подсистему синхронизации распределенных объектов модели, подсистему балансировки (распределенная версия), подсистему организации удаленного доступа, подсистему защиты от внешних и внутренних угроз, подсистему автоматического доопределения модели. Назначение каждого из компонентов представлено ниже: TriadCompile (компилятор языка Triad, переводит описание имитационной модели с языка Triad во внутреннее представление); TriadDebugger (отладчик, использует механизм информационных процедур алгоритма исследования, локализует ошибки и вырабатывает рекомендации для их устранения на основании правил из базы данных, для каждого класса ошибок осуществляется поиск по онтологии соответствующего обработчика ошибок); TriadCore (ядро системы, включает библиотеки классов основных элементов модели), TriadEditor (редактор моделей, предназначен для работы с моделью как в удаленном, так и локальном режимах, локальный режим предполагает работу с системой в том случае, если нет удаленного доступа), TriadBalance (подсистема балансировки), TriadSecurity (подсистема безопасности, этот компонент используют при удаленном доступе к системе моделрования), TriadBuilder (подсистема автоматического доопределения частично описанной модели), база данных, где хранятся экземпляры элементов модели, TriadMiningнабор процедур для исследования результатов модели методами DataMining, TriadRule – алгоритм синхронизации объектов распределенной модели, использующей для вычислительного эксперимента ресурсы нескольких вычислительных узлов. [7] 2.2 Представление имитационной модели в Triad.Net Описание модели в системе Triad можно определить как M = (STR, ROUT, MES), где STR – слой структур, ROUT – слой рутин, MES – слой сообщений [5]. Слой структур представляет собой совокупность объектов, взаимодействующих друг с другом посредством посылки сообщений. Каждый объект имеет полюсы (входные и выходные), которые служат соответственно для приема и передачи сообщений. Основа представления слоя структур – графы. В качестве вершин графа следует рассматривать отдельные объекты. Дуги графа определяют связи между объектами. Объекты действуют по определенному алгоритму поведения, который описывают с помощью рутины. Рутина представляет собой последовательность событий ei, планирующих друг друга (E – множество событий; множество событий рутины является частично упорядоченным в модельном времени). Выполнение события сопровождается изменением состояния объекта. Состояние объекта определяется значениями переменных рутины. Таким образом, система имитации является событийно-ориентированной. Рутина так же, как и объект, имеет входные и выходные полюса. Входные полюса служат соответственно для приема сообщений, выходные полюса – для их передачи. В множестве событий рутины выделено входное событие. Все входные полюса рутины обрабатываются входным событием. Обработка выходных полюсов осуществляется остальными событиями рутины. Для передачи сообщения служит специальный оператор out (out |
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену | Каталог работ |
Похожие работы: